class GrupoUsuarios():
	def __init__(self):
		self.__users=[]
		
	def addUsuario(self,nom,apell,tel,email):
		self.__users.append(Usuario(nom,apell,tel,email))	
		
	def cantUsuarios(self):
		return len(self.__users)
		
	def getUsuarios(self):
		return self.__users	

class Usuario():
	def __init__(self,nom,apell,tel,email):
		self.__nombre=nom
		self.__apell=apell
		self.__telef=tel
		self.__mail= email
		
	def getApell(self):
		return self.__apell

	def getNombre(self):
		return self.__nombre
	
	def getTelefono(self):
		return self.__telef
	
	def getEmail(self):
		return self.__mail


class Ejecutable():
	def empezar(self):
		users=GrupoUsuarios()
		ejec=raw_input ("Requiere ingresar datos o necesita buscarlos? (i=ingresar / b=Buscar / e=salir): ")	
		while ejec!="e":
			if ejec=="i" or ejec=="I":
				self.cargarUsuario(users)
			
			elif ejec=="b" or ejec=="B":
				self.recuperarDatos(users)
			else:
				print "entrada incorrecta"
			ejec=raw_input ("desea cargar datos o ver datos? (i=ingresar / b=Buscar / e=salir): ")	
		
	def cargarUsuario(self,usuario):
		
		nombre=raw_input("ingrese nombre: ")
		apellido=raw_input("ingrese apellido: ")
		tel=raw_input("ingrese telefono: ")
		email=raw_input("ingrese email: ")
		
		usuario.addUsuario(nombre,apellido,tel,email)
		
		
	def recuperarDatos(self,users):	
				
		nombre=(raw_input("ingrese nombre (exit sin mayusculas PARA SALIR): "))
		nombre=nombre.lower()
		while (nombre!="exit"):
			sig=0
			ape=raw_input ('ingrese apellido: ')
			ape=ape.lower()
			for i in users.getUsuarios():
				if (nombre==i.getNombre() and ape==i.getApell()):
					sig=1	
					print "el email del usuario es: ",i.getEmail()
					resp=raw_input ("quiere tambien el telefono ? (y/n)")
					if (resp=="y" or resp=="Y"):
						print "el telefono es: ",i.getTelefono()
					break
			if sig==0:
				print "no existe ese usuario"
			else:
				sig=0
		
			nombre=raw_input("ingrese nombre (exit sin mayusculas PARA SALIR): ")				
			nombre=nombre.lower()
		return
		
programa=Ejecutable()
programa.empezar()
	
	
